package com.dearbinge.data.api.cart;

import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.cart.Cart;
import com.dearbinge.data.pojo.cart.vo.CartVO;

public interface CartService {

    /**
     * 查询指定商品库存
     * @param commodityId 商品id
     * @return 结果
     */
    Integer getCommodityStock(String commodityId);

    /**
     * 查询商品是否存在用户购物车
     * @param cart 商品
     * @return 结果
     */
    CartVO getCommodityInCart(Cart cart);


    /**
     * 增加购物车
     * @param cart 购物车
     * @return 结果
     */
    Integer insertCart(Cart cart);

    /**
     * 修改购物车
     * @param cart 购物车
     * @return 结果
     */
    Integer updateCart(Cart cart);

    /**
     * 删除
     * @param id id
     * @return 结果
     */
    Integer deleteCart(Integer id);

     /**
     * 清空指定用户的失效商品购物车
     * @param id id
     * @return 结果
     */
    Integer deleteUserFailureCart(String id);


    /**
     * 查询用户的商品购物车
     *
     * @param userId  用户id
     * @param current 当前页
     * @param size    每页条数
     * @return 分页集
     */
    Page listCartByUserId(String userId, Integer current, Integer size);
}
